%bepaal uit de data van dips14.m waar er welke dips hoelang voorkomen
clear all
load dips;
tijd_begin_dip = 10; %testje -> nog aanpassen (zo goot want anders loopt lus vast;))
tijd_eind_dip = 0;
diepte_dip = 1;
%k=1;
check_dip = 0;
teller = 0;

%eventueel kolom bij met diptype afh van de lengte -> kostprijs -> Bjorn?
%format: lijnfout bus_dip duur max_diepte begin eind 
dips_overzicht = zeros(1000,6);
aantal_dips = 0;
eind = 0;
%laten lopen over alle lijnfouten
for kk = 1:5%20

    

%lopen over alle bussen (tot 14 want laatste bus is de extra bus en veroorzaakt de fout dus
%dip nutteloos om op te slaan
for k = 1:14
eind = 0;
check_dip = 0;
    
for t = 1:160 % grens op 160???? %size(tijd,1)
    
if (alle_spanningen(t+200*teller,k)<0.9) && (alle_spanningen(t+200*teller,k)>0.1) && (check_dip == 0)
    
    tijd_begin_dip = tijd(t,kk);
    diepte_dip = alle_spanningen(t+200*teller,k);
    aantal_dips = aantal_dips + 1;
    dips_overzicht(aantal_dips,4) = diepte_dip;
    dips_overzicht(aantal_dips,5) = tijd_begin_dip;
    dips_overzicht(aantal_dips,1) = kk;
    dips_overzicht(aantal_dips,2) = k;
    check_dip = 1;
    
end

% if (tijd(t,kk)>tijd_begin_dip) && (alle_spanningen(t+200*teller,k)>=0.9) && (eind == 0)
if (check_dip == 1) && (alle_spanningen(t+200*teller,k)>=0.9) && (eind == 0)
    
     tijd_eind_dip = tijd(t,kk);
     %duur_dip = tijd_eind_dip - tijd_begin_dip;
%      aantal_dips = aantal_dips + 1;
%      dips_overzicht(aantal_dips,1) = kk;
%      dips_overzicht(aantal_dips,2) = k;
     dips_overzicht(aantal_dips,6) = tijd_eind_dip;
     dips_overzicht(aantal_dips,3) = dips_overzicht(aantal_dips,6)-dips_overzicht(aantal_dips,5);
%      dips_overzicht(aantal_dips,4) = diepte_dip;
     
     
     eind = 1;
     
end


end

end
teller = teller + 1;
end


IEEE_14_bus_original;
%hangt er een belasting aan de bus met dip?
dips_bussen_belasting = zeros(1000,6);
aantal_dips = 0;
teller = 1;
for k=1:size(dips_overzicht,1)
for kk = 1:size(PQ.con,1)
    if PQ.con(kk,1)==dips_overzicht(k,2)
        
        dips_bussen_belasting(teller,:) = dips_overzicht(k,:);
        teller = teller+1;
        aantal_dips = aantal_dips +1;
    end
end
end




%zijn er ook onderbrekingen?

tijd_begin_onderbreking = 10; %testje -> nog aanpassen (zo goot want anders loopt lus vast;))
tijd_eind_onderbreking = 0;
restspanning = 1;
check_onderbreking = 0;
teller = 0;

%format: lijnfout bus_dip duur max_diepte begin eind
onderbreking_overzicht = zeros(1000,6);
aantal_onderbrekingen = 0;
eind = 0;

%laten lopen over alle lijnfouten
for kk = 1:5 %20

    

%lopen over alle bussen 
for k = 1:14
eind = 0;
check_onderbreking = 0;
    
for t = 1:160 % grens op 160???? %size(tijd,1)
    
if (alle_spanningen(t+200*teller,k)<0.1) && (check_onderbreking == 0)
    
    tijd_begin_onderbreking = tijd(t,kk);
    restspanning = alle_spanningen(t+200*teller,k);
    aantal_onderbrekingen = aantal_onderbrekingen + 1;
    onderbreking_overzicht(aantal_onderbrekingen,4) = restspanning;
    onderbreking_overzicht(aantal_onderbrekingen,5) = tijd_begin_onderbreking;
    onderbreking_overzicht(aantal_onderbrekingen,1) = kk;
    onderbreking_overzicht(aantal_onderbrekingen,2) = k;
    check_onderbreking = 1;
    
end

% if (tijd(t,kk)>tijd_begin_dip) && (alle_spanningen(t+200*teller,k)>=0.9) && (eind == 0)
if (check_onderbreking == 1) && (alle_spanningen(t+200*teller,k)>=0.1) && (eind == 0)
    
     tijd_eind_onderbreking = tijd(t,kk);
     %duur_dip = tijd_eind_dip - tijd_begin_dip;
%      aantal_dips = aantal_dips + 1;
%      dips_overzicht(aantal_dips,1) = kk;
%      dips_overzicht(aantal_dips,2) = k;
     onderbreking_overzicht(aantal_onderbrekingen,6) = tijd_eind_onderbreking;
     onderbreking_overzicht(aantal_onderbrekingen,3) = onderbreking_overzicht(aantal_onderbrekingen,6)-onderbreking_overzicht(aantal_onderbrekingen,5);
%      dips_overzicht(aantal_dips,4) = diepte_dip;
     
     
     eind = 1;
     
end


end

end
teller = teller + 1;
end


IEEE_14_bus_original;
%hangt er een belasting aan de bus met onderbreking?
onderbreking_bussen_belasting = zeros(1000,6);
aantal_onderbrekingen = 0;
teller = 1;
for k=1:size(onderbreking_overzicht,1)
for kk = 1:size(PQ.con,1)
    if PQ.con(kk,1)==onderbreking_overzicht(k,2)
        
        onderbreking_bussen_belasting(teller,:) = onderbreking_overzicht(k,:);
        aantal_onderbrekingen = aantal_onderbrekingen +1;
        teller = teller+1;
    end
end
end

save lijnfout aantal_dips dips_bussen_belasting onderbreking_bussen_belasting aantal_onderbrekingen -append



